*****************************************************
 Resco Backup

 required: Palm OS 5+
 download: http://www.resco.net/palm/backup
 contact : palm@resco-net.com
*****************************************************

Acknowledgments:
Thanks to Alexander Pruss, author of NVBackup who helped us with the implementation
of several advanced algorithms. (DbCache flushing, blocking the notifications.)


0. Index
********

1. About Backup
	1.1 Introduction
	1.2 Technical specifications
	1.3 Installation/Uninstallation
	1.4 Registration
	1.5 Resco Backup vs. Resco Explorer

2. Quick Start Guide

3. Working with Resco Backup
	3.1 Default backup project 
	3.2 Incremental update
	3.3 File selection, live filter
	3.4 Compression and encryption
	3.5 Backup sets
	3.6 Scheduler
	3.7 Projects
	3.8 Exclude list
	3.9 Backup of the internal drive
	3.10 Restore
	3.11 Lock Risky Apps dialog
	3.12 Archive

4. Verify/Dif dialogs
	4.1 Brief database explanation
	4.2 Date/size comparison
	4.3 Data comparison
	4.4 Verify dialog
	4.5 Diff dialog

5. Advanced topics
	5.1 Problems with background applications
	5.2 How to identify background applications?
	5.3 Opened/locked databases
	5.4 PIM databases
	5.5 Zippers and backup data
	5.6 Card swapping
	5.7 About scheduling
	5.8 How to check the scheduling?
	5.9 NVFS-related problems
	5.10 Flushing DbCache
	5.11 Prevent DbCache Fragmentation
	5.12 Disable notifications

6. Device specifics

7. Crashes
	7.1 Backup crashes
	7.2 Restore problems

8. Problems, Q&A


1. About Backup
***************

1.1 Introduction
----------------

Resco Backup is an easy-to-use but powerful utility to protect your important Palm's data.
The purpose of the Backup is to provide a safety copy of your handheld content.

With our software you can create backups of your handheld's data, schedule them to occur 
at intervals of your choice and restore them when needed.

The RAM data can be saved to the card or any connected drive in general.

Backup is seemingly a straightforward action.
In many cases it is really so - mainly if you use older handhelds or have a simple installation.

However, things may become more complicated... 
Following paragraphs discuss what you should know in order to keep your data safe.

1.2 Technical specifications
----------------------------

Requirements: Palm OS 5+

Backup set path: card/Palm/Backups
Backup set format: Standard zip archive; can be accessed with e.g. Resco Explorer


1.3 Installation/Uninstallation
-------------------------------
To install RescoBackup.prc:

1. Add .prc file to the Palm Desktop Install Tool: 
   (Double-click the file, or drag the file onto the Install Tool window )
2. Start HotSync

Uninstallation:
Simply delete the RescoBackup from the handheld.
You might want additionally:
- Delete RscBackup from the card.
- Delete card backup folder /Palm/Backups


1.4 Registration
----------------

Resco Backup for Palm OS comes with a free 14-day trial.
The trial is functionally identical with the full version except it stops working after 14 days.
You can get it working again either by purchasing the unlock key or by installing a trial of a higher version.

After the purchase of the full product, you will receive the unlock code that will allow unlimited use
of the purchased version of the product. You will also be entitled to free upgrades within one year
from the date of the purchase or as long as the major product version does not change.

After the one-year period elapses, Resco will charge next major upgrade with 50% of the product's actual price.
(Major upgrade means a change of the major version number. E.g. 1.10 -> 1.20 is a minor upgrade,
while 1.20 -> 2.10 is a major upgrade.)


1.5 Resco Backup vs. Resco Explorer
-----------------------------------

Basically, the Explorer offers simple manual backup. Whoever is satisfied with manual backup and
does not need many advanced features offered by RscBackup, might stick to Explorer.
The rest would do better with RscBackup.

The core engine is very similar and built around the zipper.

RscBackup uses clustering of the packed databases, while Explorer uses just 1 cluster for small files.
This brings up to the 30% speed advantage and some space savings. (Less FAT blocks are occupied.)

RscBackup can handle databases whose names differ in case only and adds many advanced features, e.g.
- Scheduled backups (triggered by time, Hotsync or application exit)
- Projects
- Editable exclude list
- Diff dialog
- Backup set comparison
- Application locking
- Drive-based backups (backup of the internal drive)
- Advanced options such as notification blocking, DbCache cleaning
- Etc.


2 Quick Start Guide
*******************

Warning:
A backup program is at mercy of the applications that are just running on your PDA. 
If you have a clean installation, you will never have any problem.
For the time being remember that:
a) Lot of problems (backup crashes, reset loop etc.) can be solved with warm reset = reset while holding "Up" button.
b) More info is available in separate chapters about backup/restore problems.

Right after the installation you see the basic screen showing the pre-installed projects:
- Default project serves to backup the complete RAM. Many users don't need more.
  They just take care about making an occasional RAM snapshot - and that's it.
- Camera Images is about the RAM images. Note that this project is created only for 
  modern Palm handhelds and that the images are not included in the Default project. (The only exception.)
- Contacts project takes care about all PIM data (incl. memos, tasks etc.). 
  This data is included in the Default project, but if you want an extra level of safety - here it is.


BACKUP

1. Let's start and press the big Backup button.
First backup will take a while. At the end you will get the results screen. 
Should anything go wrong, the list would start with red items containing brief error text.
If you don't trust the results, press the Verify button.
Upon the backup completion the main screen says when the Default project was backed up.

2. Press Backup again. Unlike the first backup, this one will take just an instant as it updates only modified files.
(We call this incremental backup.)

3. See a few more possibilities you have at your disposal:
- Verify (main menu) checks whether the last backup is up-to-date. 
  It compares byte-by-byte RAM against the data stored in backup.
- Scheduler allows you to setup backups performed regularly in your absence.
- Select Files option allows you to create partial backup.
  Look at the files selected for the contacts project and you'll see why this option is here.
- Setup allows you to modify how the backup works. E.g. you can specify password encryption here.

4. Exit RscBackup and return later and launch Verify.
You'll find that the report contains some differences. (!= means not equal.)

Differences marked in red are worth of noting. 
Black "!=" items mean that these files are modified very frequently. (Press the ?? button - it will tell you just that.)
Take e.g. the preferences - they were modified by RscBackup when it closed the last time.
Note that you might have more such files that are updated on the fly.

Verify is an extremely useful tool as it provides
a) Extra level of trust
b) Information about the status of the backup data
c) Targeted update: If you press the Update button, then all red all "!=" items will be updated.


BACKUP SET - WHAT IS IT?

Backup set is a snapshot of the memory. (Or more precisely - of the databases selected for the project.)
So far we created just one backup set, but you can have more of them. 

You specify the number of backup sets in the project setup. Scheduler will then maintain this number.
If you switch to advanced mode, you will see 2 backup buttons:
- [New Backup] creates a new backup set
- [Update] updates the most recent backup set. ([Backup] button in the basic mode does just that.)


LET'S LOOK AT THE RESTORE

While Backup creates a safety copy of the RAM contents, Restore represents the opposite process - 
it allows returning to the RAM snapshot saved in the past in the form of a backup set.

To see the Restore in action press the Restore button on the main screen.
You will be guided through a series of screens, where you subsequently:
- Select a backup set
- Decide whether you want full restore (all files), or partial restore (some files)
- In the latter case you get the 3rd screen for the file selection.

Full Restore should be used after hard reset or at least after warm reset. Remember this, it can save you from future problems.

Partial Restore allows selection of just those files you want. 
You can go for partial restore either by databases (more technical) or by applications (easier).

Here is another cool Restore feature:
When you return to the first Restore screen and press Verify button, you start a comparison of the RAM against selected backup set.
The best of all is that you can restore just the differences.
It is faster, it is safer and it allows you to resume an interrupted restore.

Some people would like to do more and to decide which of the different files will be restored. 
Well, it can be done, but you have to switch RscBackup to advanced mode and use the tool called Diff.


MORE FEATURES

What you learned so far, might be enough. But if you want to touch briefly other Rscbackup aspects,
switch to the advanced mode (main menu) and go on with reading.

1. Main menu / Options / Exclude list
This dialog defines the databases that are excluded from the backup.
Do not change the default selection unless you understand the consequences.

2. Main menu / Options / Lock Risky Apps
If you have an NVFS-based device (T5, T650, LifeDrive, E2), then there is a danger, that some
of installed background applications that were not programmed with NVFS specifics in mind,
may cause backup crash. This dialog enables to fix them in memory and removes thus the most
frequent crash reason.

3. Main menu / Project / Select Files
Use to specify files that will be saved.
Excluded files are not listed; all remaining files are selected by default.
Once you unselect some files, the selection becomes fixed and will not automatically accommodate
newly installed databases. (I.e. the selection becomes your responsibility.)

4. [Setup] button
This dialog contains settings modifying the backup behavior.
Again, the default setting will probably satisfy most of the users.

5. [Schedule] button
Use to define if and when the automatic unattended backup takes place.
The scheduler is switched off by default.

6. Main menu / Actions / Backup sets
Here you can manage your backup sets.
Press the [Diff] button. It offers an enhanced form of the Verify dialog. 

To get the list of all RAM databases that are newer than their backup set counterparts, make sure that:
- The [->] icon is pressed. (If you don't see this icon, then all databases are up-to-date.)
- All other icons are depressed.

To group these files together, force sorting by the [?] column. (Tap the column label.)

7. Projects
So far we worked with the Default project, i.e. a project that always exists.
Look at the combo-box in the top right corner of the main screen.
It contains list of existing projects and the commands to create/delete a project.

A project is simply a set of files backed up as one unit.
RAM-based projects store databases, drive-based projects work with card files. (This is specified during the project creation.)
Every project has its own location, settings, file selection and scheduler. (Exclude list is shared by all projects.)
It is allowed to schedule two projects are scheduled to the same time.

When creating a new project, you can make use of predefined projects.
Even if you don't intend to use them, they present a suitable material to study.		

------

By now you must have achieved solid understanding of the manual backup.
Next paragraphs will explain the details.



3. Working with Resco Backup
****************************

3.1 Default backup project 
--------------------------

A backup project is a set of conditions that define the backup action:
- Selection of the databases that have to be stored,
- Setup parameters,
- Scheduler.

Since you launch Resco Backup the first time you are working in the so-called Default project.
Default project exists all the time - it cannot be either created or deleted.
In other words - default project is what you know from other backup solutions.


3.2 Incremental update
----------------------

Incremental update, shortly called "Update", starts by the comparison of the backup set vs. the RAM
contents. The comparison can be either date-based (default) or content-based (Byte by Byte comparison).
The latter mode is slower, but catches the rare cases when a database is modified while preserving
the old date. Based on the results new databases are added to the backup set or some of the old ones
updated. 

Databases that were deleted from the RAM since the last backup are deleted from the backup set as well.
However, if you have switched on the archiving (Setup dialog), the deleted databases are not lost, 
but they are moved to the archive. 
The archive is physically a subfolder (with the name "Deleted") of the project folder. To access
the archive, use the Archive menu option or suitable file manager - for example Resco Explorer.
Use archiving with care as it consumes additional card space. 

Update is generally much faster than the full backup. (I.e. as long as only a small part 
of the RAM files were modified.) However, performing full backup from time to time is a wise policy. 

When you press Update button on the main screen, the Update is performed on the last backup set 
in the current project.


3.3 File selection, Live filter
-------------------------------

You can use the Select Files dialog to modify the file selection for backup.
(Notice that this dialog presents all RAM databases except those excluded in the Exclude List dialog and 
a few files that are excluded by default.) 
As long as all files are selected, any backup action will concern complete RAM contents (minus excluded databases).

However, once you unselect some file, you create a partial selection. 
Since this moment the backup will ignore newly installed RAM files - you have to add them to the selection 
manually if they should be stored. 

Drive-based projects use use different Select Files dialog, where you specify folders instead of
individual files.

Live filter (RAM)

Do you need to backup regularly (say) all your eBooks? Static enumeration will not help as it would
skip newly added eBooks. Use so-called live filter instead.

Open Select by Filter dialog (available under Action trigger) and set Use at run-time. With this
flag you can e.g. define the backup set as "All DBs with the creatorID REAd", i.e. all e-books.
RscBackup will evaluate the DB list at run-time and store also eventual new eBooks.

Notice the title of the File selection dialog: It will not show the number of files, but the filter text.
Notice also, that once you modify the selection (via pen tap or menu), the live filter will be switched
off and replaced by a static DB enumeration.


3.4 Compression and encryption
------------------------------

Resco Backup uses zip-based compression/encryption. Unlike the general expectation the extra 
computational power needed for the compression is compensated by savings in the card writing. 
In most cases the compressed backup proves to be even faster than the uncompressed backup. 

Note that the fastest compression does not try to squeeze the images and Palm documents 
as these files are already compressed and the savings were not worth the lost time. 

Some users may find confusing that zip format is used even if they specify no-compression mode.
In this case uncompressed zip is used - i.e. the databases are simply copied and packed into some envelope.
This might seem to be inefficient, but the reverse is true: Clustering done on small files 
(storing several files together) reduces card access and the number of FAT allocation blocks.
The result is higher speed and card space savings.

Concerning the safety, zip encryption is not considered as safe for the industrial purposes.
However, it is safe enough for any normal use. Remember that the encryption safety depends on the password quality.

Encryption is password-based.
Password - once given - should remain the same for all backup sets of the same project.
Any change of the password will render unusable existing backup sets that were encrypted
with the old password.

Password is queried on every use unless you specify 'Store Password' option. (Setup dialog.)
This is less safe, but saves you from retyping the password during various backup actions.
Default project looses the stored password during the hard reset.
Other projects keep the password stored on the card, i.e. it will survive the hard reset.

Restore requires password always disregarding the 'Store Password' option


3.5 Backup sets
---------------

Backup set is the result of one backup action. It is stored in a separate card folder (subfolder of /Palm/Backups), 
whose name indicates current user and time of the last update. 

Update button on the main screen modifies the last backup set. Older backup sets can be updated 
from the Backup Sets dialog. If you want to create a new backup set, use the "New Backup" button. 

Backup sets occupy considerable card space and it is advisable to control their number.
Setting Max. # of backup sets can be used in two ways:
a) The value 0 (default) means unlimited number. In this mode manual update (from the main screen)
   or scheduled update modifies the most recent backup set, while [New Backup] button adds a new set.
   It is your responsibility to control the space devoted to the backup results.
b) Non-zero value (n) acts differently:
   - Manual Update updates the last backup set. (As before; no new set is added.)
   - [New Backup] creates a new set and then - if the number of sets exceeded given limit - 
     deletes the excess sets.
   - Scheduled update keeps n most recent sets. I.e. it leaves (n-1) most recent sets intact and
     updates the n-th set.

Backup Sets dialog provides tools (discussed elsewhere) for the backup set management:
- Verify compares of the selected backup set vs. current project files.
- Diff dialog offers even better tool for the backup set analysis.
- Delete removes selected set from the card.
- Update brings selected set up-to-date.

The use of the multiselection:
- You can delete several backup sets at once.
- If you select 2 backup sets, then Diff will compare both sets and display the differences.
  (Note that this option is available only for Backup Sets dialog launched from the main screen.)

The All Backup Sets dialog (main menu) lists backup sets from all projects.


3.6 Scheduler
-------------

Allows unattended backup, i.e. an automatic backup taking place depending on the user criteria.

Scheduler can be set to run at regular intervals (at certain day time or every x hours), 
during (i.e. before or after) the Hotsync or can be triggered by exit of selected applications.

Scheduler can use either incremental or full backup. In the former case it updates suitable (usually last)
backup set, while in the latter case it always creates a new set.

Scheduler respects the setting "Max. # of backup sets" from the project settings.
If this number is f.e. 3, then the scheduler will preserve 3 most recent backup sets. In this case
the update will work with the oldest (3rd) backup set, which in turn will convert to the newest (1st)
backup set after the update is done.

Scheduler options dialog accommodates options common to all projects - among them the possibility
to hide the countdown dialog or the abort button in the progress dialog. (For those who are afraid
of unwanted abort while carrying the PDA in their pocket.) 


3.7 Projects
------------

A project is simply a set of databases backed up separately. 
Every project has its own location, settings, file selection and scheduler. 
(Exclude list is shared among the projects.) 
If two projects are scheduled to the same time, then one of them will be re-scheduled to a later instant. 

Since you launch Resco Backup the first time you are working in the so-called Default project.
Majority of the users will stay here without knowing anything about the projects. 

However, imagine the situation that you have a set of particularly important documents that should 
be stored more frequently, or just to another location, encrypted or whatever else. 
To solve it, create a new project.
Everything what was said so far is applicable both to the Default project and to the project you just created. 


3.8 Exclude list
----------------

The Exclude List dialog is accessible from the application menu and is valid for all projects.
Use it to specify the databases that should never be backed up because it is dangerous or for whatever other reason. 

Notice the two specific cases. (Respective settings are switched on by default on the concerned handhelds.)

1. New palmOne handhelds need to exclude so-called old PIM-databases. (Discussed elsewhere.)

2. LifeDrive users should exclude the readonly databases. The reason is that all databases that are installed
automatically after a hard reset are read-only. In other words, the read-only flag distinguishes databases
that are pre-installed on hard reset. Pay attention that you do not use the readonly flag for other purposes.
(I.e. do not modify it using a file manager.)


3.9 Backup of the internal drive
---------------------------------

In the creation phase the project can be set as drive-based.
These projects can be set to backup any file folders. (That's a difference against standard RAM backup.)
The most logical choice are the folders of the Internal drive on the NVFS systems.

Modern Palm handhelds use to store images in the folder Photos & Videos on the built-in drive.
(Unless you decided for the card storage.) This is perhaps the most logical candidate for the 
drive-based project.

Exclude list is not considered for the drive-based backup.


3.10 Restore
------------

The reverse of the backup is the restore - allows the restoration of the databases 
to the state stored in the backup set.

If you perform restore after hard reset, then your handheld is empty and you need to start
RscBackup from the card. (It is there - RscBackup checks this during each backup action.)
Don't be surprised by the message
	"Scheduled backups will not work"
That's ok, you don't need the scheduler for Restore. After you restore the handheld contents and
install RscBackup to RAM, scheduler will work again. It just can't work on the card because the OS
does not communicate with card apps.

To perform the restore press the button Restore.
In the following dialog select the backup set you want to use and press [Next] button.
This leads to another dialog where you can select the individual files (partial restore) or
leave all files selected (full restore).

You can also use the [Diff] dialog. 
This dialog enables you to analyze the differences and select individual databases for the restore action.

Safety
Restore suffers several stability risks, some of being similar to the Backup process:
- Conflicts with running background applications
- Specific NVFS problems (again concerns mainly background applications)

The safest procedure for the full restore is:
1. Perform hard reset (Restore into a clean machine minimizes potential conflicts)
2. Then perform warm reset (This additionally deactivates certain system services.)
3. Perform restore
But be aware that this is kind of overkill. Use it if nothing else helps.

See also the chapter 5.7 Restore crashes.


3.11 Lock Risky Apps dialog
---------------------------

This dialog is to be used on the NVFS systems only.

Main reason to lock applications is the safety. NVFS brought changes to the Palm OS programming 
and not all applications reflected them. (Those that were last time updated prior to NVFS release, 
could not.) One of the most frequent problems is that the Palm databases are no longer fixed. 
That's exactly the problem that is targeted by this dialog.

The dialog displays list of all applications. To lock some of them, select respective rows
by tapping them and press OK. In turn, on next backup/verify/restore operation all selected
applications will be locked in memory.

This will help in most cases, but not always:
- The application may perform other NVFS-related incorrect operations and locking itself is not enough.
- One could envisage specific programming constructs that under special occasions would conflict
  with external locking as performed by Resco Backup. These constructs are not very probable, 
  but cannot be excluded either. 

Temporary locking
Notice that locking via this dialog is temporary - only during the selected RscBackup actions
(Backup, Verify etc.) are performed. If you want permanent locking, then use Resco Locker.

"Set Defaults" action
This will select those background apps that are deemed to be potentially dangerous for backup.
The selection is based on the analysis of the most dangerous notifications.
In most cases this is the only thing you need to do.

Disabling particular BKG-app is another technique that usually works - often even better.
However, we experienced at least one case, when disabled application was causing crashes
(apparently the application was not fully inactive), which disappeared after this application
was locked.

Test results
Locking of TextPlus, ClipPRO, OKey helps to avoid crashes caused by these applications.
Locking PiLoc (Hebrew localization v3.7) did not help.


3.12 Archive
------------

Archive is a place where deleted files are moved. The use of the archive has to be switched on 
in the project settings. If this is done, then RscBackup instead of destroying unneeded files 
moves them to archive. It is safer but slower and takes a lot of card space.

Note that the archive is active only for the incremental update. (To be set in the project options 
for manual backup, resp. in the scheduler options for the automatic backup.) 
Full update (can be used in the scheduler) creates a new backup set without making any comparison
to the old set.

The archive is physically a subfolder of the project folder (with the name "Deleted").
Further underneath there are subfolders (one per each backup) containing archived files.
These subfolders are organized in a similar way as the backup sets.

RscBackup offers the archive management dialog under the menu option Archive.
The dialog uses the same tools as the Backup sets dialog, i.e. you can browse the archive sets,
compare them or even restore ("undelete") selected files.


4. Verify/Dif dialogs
*********************

4.1 Brief database explanation
------------------------------

The following will present simple DB explanation just sufficient to explain backup specifics.
Read if you are interested in technical details, skip otherwise.

A database consists of a header, data records and optional AppInfo/SortInfo blocks.

DB header contains this information:
- DB type, creator, name, version
- DB attributes (resource, open, readonly, hidden, stream, backup, launchable, bundle, copy protect,
	ResetAfterInstall, AppInfoDirty, recyclable)
- DB modification number
- DB creation and modification date

Palm OS recognizes resource databases (e.g. applications) and record databases (usually data).

Record databases have records consisting of data and attributes:
- 'Busy' represents a kind of record lock
- 'Delete' denotes deleted record (its data was destroyed)
- 'Dirty' marks modified records (that are expected to be hotsynced)
- 'Secret' denotes private records.

Note that 'deleted' record has just the record header (this information is kept for possible use by e.g. Hotsync);
the record data was destroyed.

Archived records are worse: They should appear as deleted from the handheld point of view, but at the same
time they must keep the data to be hotsynced into the PC archive. (Only then they are really deleted.)
Technically this is realized by setting 'Delete' and 'Dirty' record attributes and keeping the record data.

Resco Backup ignores deleted records, but otherwise stores complete record databases incl. archived records.

Resource databases are simpler. They have just header and data records and each record has assigned type and id.
A record either exists or does not exist; there are no intermediate states such as records marked for
deletion or archiving.

Resco Backup stores complete resource databases.


4.2 Date/size comparison
------------------------

Date comparison is the usual solution used by all other backup packages.
It will discover any changes that are made in a standard way - i.e. when the DB change is accompanied
by a respective change of the DB modification date.

However, this method won't notice a modification that:
- Is made intentionally so that the date remains constant.
- Is interrupted by force (e.g. a crash).


4.3 Data comparison
-------------------

This performs byte-wise comparison of:
- records data
- record categories and attributes
- AppInfo/SortInfo blocks

DB header is checked only partially:
- DB type, creator, name
- resource attribute

Hence, the data comparison will detect all important changes, but may overlook some unimportant modifications.
(Most of the header data.)


4.4 Verify dialog
-----------------

A simple, fast tool to reliably check the backup set contents.

Verify performs byte-wise comparison of the databases stored in selected backup set vs. their RAM equivalents.
Notice that some databases may change virtually at any moment, e.g. preferences or databases
modified by the system or running background applications.

So, don't be surprised if you find differences in databases such as:
- Saved Preferences
- Unsaved Preferences
- psyslaunchDB (launcher DB)
etc. Depending on your installation, this list will be longer.


4.5 Diff dialog
---------------

An enhanced form of the Verify dialog. To open it, start first the Backup Sets dialog 
(accessible from the main menu), select a backup set and press [Diff] button.

Diff dialog reports also new databases that are not in the backup set.
You can select comparison by date/size or by contents as well as update selected set of databases.
(Note that update is allowed only for the most recent backup set.)

Main dialog controls:
- Combo box in the top left corner allows the selection of the comparison criterion (date/content).
- The icons at the top represent comparison results (RAM only, RAM newer, equal etc.; icons are disabled
  if there exists no DB with given status.)
  By tapping these icons you change the file selection. E.g. to select all databases that were not yet
  backed up, press the first icon.
- To change the sort order tap respective column label.
- To select/unselect specific file manually, tap respective list row.
- The Actions combo box offers additional commands, e.g. definition of the list columns.
- Update button performs update of all databases that are selected at given instant.
  Do not confuse with the functionality of the Update button on the main screen. 
  (This "Update" works on all files that were identified as different, whereas Diff dialog lets
  you to make the file choice.)



5. Advanced topics
******************

5.1 Problems with background applications
-----------------------------------------

For the reason of brevity we shall call these applications BKG-apps.

BKG-apps run concurrently with backup (or any other application currently used).

They can react on a number of events such as database modification, pen tap, keyboard press etc.
They may react in any thinkable way and some of these reactions may conflict e.g. with the Restore operation. 


Example

Let's take a hypothetical BKG-app that makes a log (a database called say DbLog) of all created databases.
Let's suppose the Restore operation just started. 

As the restore progresses, it creates new databases. Palm OS will broadcast notifications about every 
created database, so our BKG-app will get the message and add corresp. entries to the DbLog.

This works until the moment Restore tries to rewrite the DbLog itself. 
The result will depend on the way the BKG-app is written, i.e. whether it allows such an action:
- If DbLog was opened exclusively, restore of this particular DB would fail, but nothing else
  would be affected.
- Second extreme would be that the BKG-app keeps live pointer into the DbLog, which would probably 
  result in a crash. 


Prevention

The above was just a motivation example (maybe not the best one), but BKG-apps can really do a number
of things depending on their purpose.

If you observe problems, then you might consider either disabling active BKG-apps or running backup/restore
after a warm reset.

Warm reset (reset while "Up" button is pressed) starts just core system services.
Among other consequences, this means that no BKG-app is activated.



5.2 How to identify background applications?
--------------------------------------------

a) Think.
You know what you have installed on your system, which apps have various "Enable" buttons and look like
acting on background. For example, if an application promises improved clipboard or various add-on functions
that are always available, then these apps must act on background.

b) 'Lock Risky apps' dialog
Use "Set Defaults" action. This will select those background apps that are deemed to be potentially
dangerous for backup. The selection is based on the analysis of the most dangerous notifications.

c) Resco Explorer, Control Panel > Notifications
Here you get a detailed list of notifications grouped either by applications or by events.
The notifications names are to a large extent self-explanatory and help you to understand what does
particular application at given event.

For example, you may see this:
	RescoBackup, appl
	* LateWakeup	// Reacts when PDA stops sleeping
	* SyncFinish	// In this case Hotsync-based scheduling
	* VolumeMounted	// Card inserted

Etc., not everything is understandable, but a lot can be deduced.

Notifications in our example happen occasionally and apps use to accept them in a safe (and slower) way.

On the other hand, EventDequeued notification is sent for whatever user action (pen tap, keyboard press...).
Apps that intercept this notification must do it in unsafe (faster) way and must be at least locked.

d) Notifications list is produced also by Palm Internals (a freeware); the list is richer, but
less transparent and its construction may lead to a crash if you have misbehaving background app.
 


5.3 Opened/locked databases
---------------------------

Start Resco Backup and open the "Select Files" menu option. 

Look at the Attr column. (Sort the rows by tapping its column label.)
"O" denotes opened, "XO" exclusively opened, "L" locked databases. The former ones are more dangerous. 

The fact that a database is opened means that there is a live pointer into it and its overwriting is potentially 
dangerous. This is the risk of the Restore operation. 

However, an opened database can also mean an inconsistent state.
(E.g. part of the data is queued in some cache.) This is the risk of the Backup operation. 

Exclusively opened databases cannot be opened by any other application.
Hence, these databases cannot be either backed-up or restored.
Fortunately, this "trick" is used very seldom.

Prevention

Again, warm reset will generally decrease the number of opened databases.

You can also add a dangerous database to the Exclude list. (This should be the last resort, of course.)


5.4 PIM databases
-----------------

This chapter concerns modern palmOne handhelds (T3 and higher).

History

Old well-known PIM databases are AddressDB, DatebookDB, MemoDB and ToDoDB.
As the time passed a need for richer data appeared. 

palmOne reacted logically by designing new PIM databases. So e.g. MemoDB was replaced by MemosDB-PMem.
However, there were plenty of legacy applications relying on presence of original MemoDB. 

The adopted decision was to keep a fake (emulated) MemoDB etc.
That means the DB is empty, but in case some application needs it, MemoDB will be temporarily 
populated from the new PIM databases. 

Works well, i.e. until someone uses MemoDB to overwrite the contents of the new memo database.
This may lead to a partial loss of data or even worse effects. This is exactly what happens during
Restore if you backed up both old and new PIM databases. 

Prevention

Exclude old PIM databases from the backup. (Exclude List dialog is accessible from the application menu.)
Note that this option is switched on by default on all T3+ palmOne handhelds,
while for the remaining handhelds the option is hidden. 


5.5 Zippers and backup data
---------------------------

Backup set is a set of zip archives located under the folder /Palm/backups.
You can take any zip program to preview the backup set contents. Resco Explorer is perhaps the best option.
You may not only check the contents, but also preview any stored database or even install 
(i.e. copy) it to the RAM manually. 

3rd party zippers may complain about CRC failures. In such case either switch on CRC computation 
(project options) or try to setup the zipper so that it tolerates CRC failures.


5.6 Card swapping
------------------

This chapter describes RscBackup policy concerning the cards.
This might be an important topic for those who use to swap the cards and occasionally notice
missed scheduled backups.


Drive letters
--------------

Every card gets a drive letter.
The drive letter is constructed out of the card type (SD, MMC etc.) and the card label.

Say you have SD cards labelled "Card1" and "Card2".
When "Card1" is inserted, it will be assigned the drive letter C. RscBackup will remember the assignment
"SD:Card1" -> C.
When you insert "Card2", it gets the first free drive letter, perhaps D. (RscBackup remembers "SD:Card2" -> D.)
When you reinsert "Card1", the drive letter will be C again.

Notice that if you use unlabelled cards, then RscBackup does not detect the card swapping 
and both cards get always the C letter.


How RscBackup remembers the card
--------------------------------

RscBackup remembers card drive letter in the project settings.


How RscBackup reacts to a card swap
----------------------------------

The card swap will usually happen when RscBackup is not active. However, RscBackup will be notified by Palm OS
about the change. In effect, RscBackup will react on background of the currently running application:

It will first detect the drive letter of the inserted card. (C or D in our example.)

As next RscBackup will scan all projects on all drives and schedule them. The Default project is scheduled 
if the card with stored drive letter is inserted. Let's explain it again in detail:

For non-default projects the situation is simple: The project definition is stored on the card. 
Hence, it cannot happen that the project would point to a card that was not inserted. 
No problem here - either the card with the project is inserted and the scheduled backup takes place, or not.

Default project
Default project stores the drive letter in the Saved Preferences.
If it is C, but the inserted card is D, the scheduled backup (for this project) cannot take place.
(If RscBackup was active, you would see the error message "The project uses another card..".) 
In this case the only possibility is to start RscBackup and correct the card selection. (Or reinsert
original card.)


Simple rule to remember
------------------------

Non-default project is bound to some card. This is by definition so, because the project resides on the card.

Try to think about the Default project in the same way.
When you want to assign the Default project to another card, then open RscBackup and do so.

The Default project will work with different cards without any additional user action only if 
the cards do not have any label.


Is it good or not?
-------------------

The good things:
- The maintenance of the backup sets is simpler.
- Unwanted backups are minimized.
  (E.g. you will not backup to the card of your friend who happened to lend it to you for 2 hours.)
 
The bad thing:
- When you use to swap the cards frequently, you have to synchronize this activity with RscBackup.

Another rather curious problem:
If you interchangeably use say English and German RscBackup versions, the unlabelled card will be 
assigned different drive letters in both RscBackup versions. This is because the default label is 
either "Card" (English) or "Karte" (German).


5.7 About scheduling
--------------------

Technically, the scheduled backup is realized via so-called alarms. This is Palm OS mechanism allowing
to wakeup the application at given instant. Every application can have at most one alarm. Keep this
in mind if you modify existing alarms using 3rd party tools. (For those who want to check the things
deeper - Resco Explorer provides the access to the application alarms in its Control Panel.)

Various projects define their own schedulers independently. Scheduling is the process when the
individual schedulers are compared and an alarm is set for the project that is scheduled as next.
Scheduling takes place at events such as HotSync, time change, upgrade etc. (I.e. the scheduler 
will work correctly in situations such as time change, upgrade etc.)

Scheduled backup will start disregarding the currently running application. Technically, the backup
is launched over the running application interrupting temporarily its activity.

This naturally can result in a conflict. Imagine these situations:
a) Current application is doing a lengthy update of a database that remains in an inconsistent state
   during this action. If the scheduled backup is launched in this moment, the saved database might
   be useless.
b) A viewer loading a large image and consuming thus nearly full available memory. Backup can be 
   launched from the event processing caused by the progress bar. If the scheduled backup is launched
   in this moment, it will run in the low memory conditions and the backup may fail.

Because of such risks, scheduled backup starts (unless you suppress this option) by a count-down dialog
that offers to postpone the backup action.

Another example of a potential conflict presents Treo keyguard. The purpose of the keyguard is to 
prevent accidental key-press. This can be achieved by various means and a conflict with the RscBackup
scheduler (mainly with the count-down dialog) cannot be excluded. Therefore RscBackup tries to suppress
the count-down dialog if it detects that the device was sleeping.

RscBackup 1.30 works correctly with Butler or built-in keyguard.


5.8 How to check the scheduling?
--------------------------------

1. What is Alarm?

Any app can ask the OS to be activated at certain time instance. This is called Alarm. 
There are many uses for alarms and the scheduled backup is just one of them. 
What is important - any app can have at most one alarm.


2. How RscBackup schedules alarms?

Generally there can be multiple projects each scheduled to a different instant. 
In this general scenario RscBackup will set an alarm corresponding to the closest scheduled backup.

If nothing goes wrong, RscBackup will wake up at this instant and realize scheduled backup 
for one or more projects that are scheduled to this instant. As next, RscBackup will perform 
rescheduling, i.e. it will set the alarm for next closest alarm.


3. How to check alarms?

Run Resco Explorer, go to Control Panel > Alarms. 
One of the rows should display RscBackup and the time when the closest backup is scheduled.
Same check can be done with Palm Internals (a freeware).


4. How to check Hotsync-based backup?

Alarms do not play any role in this case as the time of the next Hotsync is unknown.
Instead, RscBackup asks OS for a Hotsync notification and is prepared to process it.

To check, go to Resco Explorer > Control Panel > Notifications.
Find RscBackup in the list and check if these notifications are listed:
- SyncStart if backup before hotsync is required,
- SyncFinish if backup after hotsync is required

Again, the same thing can be checked with Palm Internals, although this app presents 
the notifications in a less transparent manner.


5. When does the rescheduling take place?

a) When RscBackup is not running and one of these events happen:
- Reset (30 secs after reset)
- Card insert/remove
- RscBackup updated via Hotsync
- Time change initiated by the user

b) When RscBackup is running and one of these events happen:
- Project delete
- When the scheduling was globally allowed/disallowed
- When the Scheduler dialog closes with OK button
- After the scheduled backup takes place (or is canceled from the count-down dialog)



5.9 NVFS-related problems
-------------------------

This chapter concerns NVFS-based handhelds. (At the time of writing: T5, T650, E2, LifeDrive.) 


What is NVFS?
-------------

Non-Volatile File Storage, i.e. a permanent storage that will survive even the battery removal. 

Unlike older Palm handhelds, databases are located in the NVFS storage and cannot be accessed directly.
Instead, they are accessed through a reserved RAM area called DbCache. 

It is a kind of window into NVFS: Prior to use the DB must be copied to the DbCache and after the use 
the changes are copied back to NVFS and the DB may be removed from the DbCache to provide the space 
for other databases. For efficiency reasons the last step is delayed until the DbCache is full. 

DbCache uses to be around 10 MB and you can have installed a lot more data in the RAM. 
You can even have a single database that is larger than the whole DbCache. 
This implies a fundamental consequence for the Palm programming: 
The position of the database or their records is no longer constant. 


What kind of problems happen?
-----------------------------

1. NVFS itself has problems. 
Concerns mainly T5 and early T650 releases; later handhelds are much safer.

It appears that certain functions are not reliable and can return bad values or cause random crashes.
Fortunately their frequency is not too high.

Remark:
Latest T5 update (www.palmone.com/us/support/downloads/tungstent5/tungstent5update.html)
seems to have solved most of NVFS bugs for this handheld.

2. Variable DB position. (Discussed above.) Programs not realizing this will occasionally crash. 

3. Background applications. Although BKG-apps proved to work reliably in the past, they are often 
not prepared for NVFS. 

The most frequent problem is that the application itself can be moved. Although this can be considered 
as Palm OS problem, the workaround must be done by the BKG-app itself. If not, the user will 
experience random crashes. 

Specifics of a backup program

Backup works with huge amounts of data, which necessarily leads to a full DbCache and higher frequency 
of DB swapping. This in turn implies higher risk of the NVFS crashes. 

This also means a higher risk of BKG-app crashes. 

Data errors: NVFS (mainly early releases) may return incorrect data. 
This effect (invalid backup set) can be discovered only by using tool such as the Resco Backup Verify function. 



5.10 Flushing DbCache
----------------------
(The functionality works only on NVFS devices.)

DbCache serves as a swapping area for databases and their records. DbCache gets filled as more 
databases are read. As any backup must necessarily read complete RAM contents, DbCache gets always filled.

The fact of filling the DbCache theoretically does not mean much, yat in praxis there are some negative
consequences:
- The overall responsiveness of the PDA might decrease.
- DbCache fragmentation can increase. (Even if the backup itself does not contribute to the fragmentation,
  PDA with full DbCache can easier get fragmented later.)

RscBackup has several tools dealing with the DbCache:
- RAM Info dialog offers "Flush DbCache" button.
- Both manual and scheduled backup can flush the DbCache after they complete its work.

Notice that flushing DbCache after scheduled backup must yield better results. (Often substantially better.)
The reason is that the scheduled backup loads only small part of the RscBackup application (1st segment),
while RscBackup GUI requires loading of several records that are locked and placed in various memory
parts, increasing thus the fragmentation.

Warning:
There is a general misunderstanding among the Palm users that clearing the DbCache can increase the PDA stability.
The ratio behind this statement is this:
Most stability problems are caused by the background applications that forget to lock itself in the
memory. If this happens and the DbCache gets filled, the OS may decide (at its own discretion) to purge
some of the unlocked records. If it by chance decides to purge the background application, a crash
is inevitable.
Flushing the DbCache cannot help in this respect. It either has no influence or will the problem even
aggravate.


5.11 Prevent DbCache Fragmentation
-----------------------------------
(The option works only on NVFS devices and can be set for both manual and scheduled backups.)

This option tries to solve the problem of the DbCache fragmentation, which often prevents from working
apps that need large contiguous storage block. (Large means the order of magnitude 1 MB or more.)
Because Palm apps are traditionally limited to the 64K record size, there are just a few apps using
that large blocks, yet they are quite popular - e.g. Blazer or Tom Tom.

How the fragmentation occurs:
Locked records create non-movable islands in the DbCache. Fragmentation occurs when the locked records
are evenly distributed within the DbCache so that the free space among them is relatively small.

What does RscBackup:
If there is enough storage RAM, RscBackup will try to reserve large memory block during backup and 
release it afterwards.

Warning:
At the moment of this writing the influence of this setting is not sufficiently tested.
While it really decreases the fragmentation, it may cause also backup (verify, diff) slow-down.


5.12 Disable notifications
---------------------------
(The option can be set for both manual and scheduled backups.)

This is another advanced option aiming on stability problems.
Technically the option prevents OS from broadcasting frequently used notifications. Unfortunately,
not all notifications can be blocked this way - mainly because some of them are vital for the OS
functionality.

The idea behind is that if these notifications are suppressed, background applications
will not be activated and hence they cannot crash.

In the optimal case this will delay the crash of the ill-behaving background application
to the moment when the notifications are re-enabled. Because this happens only after backup
completion, the user gets at least a safe backup set. (If the crash could not be prevented.)

Use in cases when you get crashes that cannot be cured by other means.



6. Device specifics
*******************

Treo 650
	You should turn the phone OFF on the Treo 650 prior to performing a restore operation

	If you have original 5.4.5 release, then you might easily hit NVFS bugs.
	There is a T650 update on the web.

LifeDrive
	Scheduled backup does not work if the LD is locked (using the lock position of the main switch)

	Readonly flag is used to denote databases that are pre-installed after the hard reset.
	Suggested strategy:
	- Do not modify readonly flags
	- Exclude readonly databases (Exclude list dialog)

	Possible problems:
	- Including either old PIM databases or readonly files may lead to difficult problems in the Restore.
	- Do not tamper with readonly DB flags; this will cause false recognition of the pre-installed
	  databases. (We hope to find a better way how to detect these files in the future.)
	- TealBackup seems to mark readonly databases whose restore failed.
	  Be sure to delete them as soon as possible.

palmOne handhelds
	Starting from Tungsten T3 you should exclude old PIM databases (Exclude list dialog) 
	or you may lose your contacts, appointments etc.

Tungsten/T5
	Make sure you installed T5 update v1.1 (www.palmone.com/us/support/downloads/tungstent5/tungstent5update.html)




7. Crashes
**********


7.1 Backup crashes
-------------------

Although we cannot exclude Resco Backup bug, crash reasons use to be found elsewhere.
The most frequent causes:

a)  Influence of active background applications. (important mainly for NVFS-based systems)

Reason:
You have installed a background app that is not prepared for the fact that the databases
on NVFS systems are movable.

The most frequent symptoms:
1. Full backup or Verify crashes, but Update succeeds. (Update accesses less databases, hence
   the DbCache may not fill up, hence DB moving is less probable.)
2. Crash after the backup or during the Backup report.
   (Background apps are often activated only at that instant. Depends on what you have installed.)
3. Crashes disappear if you run Backup/Verify after a warm reset.
   (This is an indirect proof that the problem is in your background apps.
    The reason: Warm reset does not initialize any default background services.)

Suggestions:

1. Lock background apps via Lock Risky Apps dialog:
   The simplest thing is to use Action > Set Defaults.
   This locks the apps during the backup only and does not influence your PDA in any other way.

2. Locking alternative: Use Resco Locker - a freeware that enables more enhanced DB locking.

3. Deactivate background applications manually.

4. Run full backup after warm reset. (Less practical, but uses to work.)

5. The red list published at http://www.palmfocus.com/tt5software.php may be a good starting point
   when looking for misbehaving background apps. (It is relevant for all NVFS devices, not only T5.)
   (See also 5.2 How to identify background applications?)


b)	NVFS errors. (Concerns NVFS-based systems.)

T5 users: Make sure you installed T5 update v1.1 
   (RscBackup displays a reminder during the startup if you need this update.)
T650: There are updates for the first releases. ( The Palm OS version should be at least v5.4.5.)
   Newer handhelds don't have substantial problems. 
E2, LifeDrive, TX, T700: No substantial problems.


c)  Card problems.

To test this eventuality get some file manager and browse the card. 
FAT problems may concentrate on some directory only. Therefore go to the /Palm/backups folder,
browse it and try to add/delete some files.

Tip:
T5 users can use Drive Mode to mount the card as a Windows drive. Then you can open Windows command 
prompt and run standard chkdsk /F utility. This will detect and correct card errors.

Various card readers may offer similar functionality independently from your handheld type.


d) Other things to remember

1. Exclude old PIM databases (Exclude List dialog) or you risk crashes or data loss at restore.
Concerns modern palmOne handhelds (T3 and higher).

2. LifeDrive users need to exclude read-only databases as these databases are pre-installed at hard reset. (Not a 100% reliable criterion, but it is the best one we know.)

3. Crashes or contacts (calendar) errors when doing Hotsync after restore.
Also: Hotsync error "VFSDBCache.c, Line:4051, unattached record"

This is a known Palm OS bug that happens when the deleted records are backed up and again restored after a Hotsync took place.
Use RBackup v1.31 or later. This version does not restore deleted items.

4. Verify shows differences in contacts (calendar) after restore.
Probably caused by deleted items that are present in the backup set, but are skipped by Restore. Should be ok.

5. Error "Hard error: xxx DB(s) are inaccessible and thus ignored"

This might signal some kind of internal corruption in the OS data and a corrective action (could be even hard reset) might have to be taken.
DBs in question cannot be accessed and even their names are unknown.



7.2 Restore problems
--------------------

Worst problem is a reset loop following the restore. Use warm reset to stop the reset loop.

There are couple of reasons that might cause this situation:
- Bad restore of the launcher database
- Bad restore of some background application
- Restore of the databases that must not be restored
- Corrupted backup set or a card problem

Warm reset (Reset while holding "Up" key)
	First step you need to do is a warm reset. This cancels a lot of system activity and usually enables
	you to get your PDA running. As next you will probably experiment and do one of these actions:
	- Start RscBackup from the card and Verify the restored databases, eventually repeat Restore for some of them
	- Disable selected background applications

Launcher database
	The DB is called psyslaunchDB and is updated on the go as new applications are restored and a conflict
	occasionally happens. What helps in most cases is that you repeat the restore of this single database.
	A delete of this DB might also help. psyslaunchDB will be re-created and you loose the categories.
	(A small price for curing the reset loop.)

Background applications
	These apps perform initialization during normal reset. If their initialization crashes (probably because of a 
	restore error), then the warm reset enables you to use the PDA and disable particular application.
	You might need to do this loop:
	- Warm reset
	- Disable some background app
	- Normal reset
	- If it does not help, then again a warm reset and disable another background app, etc.
	(Background applications are discussed in a separate chapter.)

Restore of the PIM databases
	Today's Palm handhelds (T3 and higher) maintain 2 copies of PIM databases and
	restoring both of them results as a rule in a data loss or a reset loop.
	To prevent this problem, make sure that the Exclude List really excludes old PIM DBs.

	However, if you have a backup set with these databases, you still can use it:
	Run Restore and unselect AddressDB, DatebookDB, MemoDB and ToDoDB. 

Other database conflicts
	Here is a typical conflict for LifeDrive:
	LD pre-installs certain databases during hard reset and marks them as readonly to distinguish them
	from the DBs that are installed later. Because of this, the Exclude list should really exclude
	readonly databases. (On the LifeDrive, of course.)
	Remark: Readonly flag is not the best criterion for the detection of the preinstalled databases,
	but we do not know a better one.

Null records
	Due to an NVFS bug restore of databases with null records could cause a crash.
	Hence you should use RscBackup v1.31+ as started from this version RscBackup skips these records.

Restore after warm reset?
	Well, it depends on what you are going to do. Imagine that you are restoring a background
	application while this app is running = a recipe for a disaster.
	Full restore should be made after a hard reset.
	A bit less safe is full restore after warm reset as it prevents conflicts with running apps.
	Partial restore usually does not require specific reset - provided you do not restore a database
	that is in use.




8. Problems, Q&A
*****************

Q: Is there a way to force a backup of the pictures?

A: Pictures are stored on the built-in drive. You can create a new project and set it (immediately!)
   as drive-based and then add the Photos & Videos folder from the built-in drive via Select Files
   dialog.

---------------------

Q: Error message:
	Backup failed. A file with this name already exists at this location (0x2A06)
Explanation:
	Names of the backup folders are derived from the time expressed in minutes.
	The backup must have been less than 1 min after the last backup.
Solution:
	Wait 1 min and retry.

---------------------

Q: I just completed backup, but Verify shows differences.
A: Probably file that was just changed.
   This is normal e.g. for Saved Preferences, Unsaved Preferences, psyslaunchDB, Queries etc.

---------------------

Q: After the Restore the launcher shows strange things. (Some applications are duplicated,
   applications have strange icons and similar...)
   I use default Palm launcher.
A: Restore of the psyslaunchDB failed. The problem probably happened when Palm OS imported
   the restored psyslaunchDB.
   Restore psyslaunchDB again, eventually repeat reset. (psyslaunchDB may be repaired during the reset.)
   If it does not help, then delete psyslaunchDB (you will need a file manager such as Resco Explorer)
   and reset. This will result in loosing the categories, but will solve the problem.

---------------------

Q: Can't open backup set archives using my zipper.
A: Probably you need to switch on CRC in the project settings dialog. 
   It is switched off for performance reasons by default.
   Also: Most zippers can be set to tolerate CRC failures.
---------------------

Q: Scheduling of non-default projects
A: Description of these projects is (unlike the default project) stored on the card.
   Hence, this project will be scheduled only if the card is inserted. 
   However, inserting card is not enough; RscBackup must be notified that the new project is online.
   This can be done either via reset or by opening the scheduler dialog in RscBackup.

---------------------

Q: What does it mean "DBprotected" error?
A: This error occasionally appears in the Restore report list. It means that the database
   being restored cannot be overwritten because it is "protected" by Palm OS.
   (Usually as a consequence of some 3rd party application request.)
   Warm reset should "de-protect" this database.

---------------------

Q: How to make backup-dedicated card?

A: Copy RscBackup to \Palm folder on the card and rename it to Start.PRC.
Now when you insert the card RscBackup starts right up.
(Same thing works for any other application renamed to Start.prc.)

---------------------

Q: Application alarms are lost after partial restore of this application, but they work after the full restore.

When an app is deleted, OS automatically cleans its alarms, registrations for notifications etc.
This is a necessity; otherwise invalid registrations etc. could cause a crash.
Partial restore is basically delete + copy (it is more complex as RscBackup is prepared for a rollback
in case of failure, but these steps are present). Hence alarms etc. remained cleared.
Restored app usually recovers its alarms etc. during next soft reset. (Provided it reacts on the reset notification).

Notice that this is the case also after hard reset - alarms etc. are not restored during the Restore action,
but during the following reset.

Notice also that a warm reset does not lead to the alarms recovery, as the applications do not get notification.

---------------------

Q: I am getting contacts (calendar) errors when doing Hotsync after restore.

Most probably caused by Palm OS bug when treating null records. (I.e. deleted contacts or calendar items.)
Typical sequence how this happens:
1. Backup
2. Delete some contacts
3. Hotsync
4. Restore (re-creates deleted items)
5. Hotsync

Solution: Use RscBackup v1.31 or later. This version does not restore deleted items.

Tip: Try DbScan (a freeware from PimlicoSoftware). This app can correct quite a few PIM errors.

---------------------

Q: After restore, I am getting Hotsync error "VFSDBCache.c, Line:4051, unattached record" when syncing contacts.

Palm Support statement: 
"This is known problem with some syncronizations. It occurs if you try to 
delete an already deleted records. You must check to see if there is an update to the conduit."

Solution: Most probably the same source of problem as above.  Use RscBackup v1.31 or later.

---------------------

Q: Verify shows differences in contacts (calendar) after restore.

A: Probably caused by deleted items that are present in the backup set, but are skipped by Restore.
Should be ok.

---------------------

Q: I am getting the error "CantOpenDB"
Q: I am getting the error "Hard error: xxx DB(s) are inaccessible and thus ignored"

This might signal some kind of internal corruption in the OS data and a corrective action
(could be even hard reset) might be needed.

DBs in question cannot be accessed and even their names are unknown.

v1.30 displayed just the simple message "CantOpenDB" and aborted backup 
(select files or exclude list dialog).

v1.31 tries to continue and just skips the concerned databases and displays the 2nd message.
(Concerns manual backup, the scheduler will break instead.)

It is difficult to find respective DBs, but if you are lucky and have a relatively recent backup set,
then you can do a Diff and look among the databases that are listed only on the card.

---------------------

Goodlink compatibility

We do not use GoodLink, but have a big client who uses RscBackup in this combination.
Their exclude list contains these databases by default:
	GdInstall
	GdSerial
	GLLogDB
	GoodAccess
	GoodAddress
	GoodCalendar
	GoodComposeApp
	GoodFipsCrypto
	GoodFormsApp
	GoodInboxApp
	GoodLink
	GoodLinkPNO
	GoodLinkRes_EN (FR, DE, ES, IT)
	GoodNotesApp
	GoodPrefsApp
	GoodTasksApp
	GoodTunes
	LastInstallApp
